package com.ruoyi.tzzl.api;

import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.common.utils.MD5Utils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import lombok.extern.slf4j.Slf4j;

import java.util.*;

/**
 * 第三方支付加密验签类
 * @author by caoyong
 * @date 2022/12/7
 **/
@Slf4j
public class Encryption {



    /**
     * parmasMap 公共参数
     * jsonRequest 接口参数
     * */
    public static  String sign(SortedMap<String, Object> parmasMap,JSONObject jsonRequest){
        //进行排序
        Set<Map.Entry<String, Object>> entries = parmasMap.entrySet();
        Iterator<Map.Entry<String, Object>> iterator = entries.iterator();
        List<String> values =new ArrayList();
        while(iterator.hasNext()){
            Map.Entry entry = (Map.Entry) iterator.next();
            String k = String.valueOf(entry.getKey());
            String v = String.valueOf(entry.getValue());
            if(StringUtils.isNotBlank(k) && StringUtils.isNotBlank(v)){
                values.add(k + "=" + v);
            }
        }
        String str=StringUtils.join(values, "&") + "277f5865a0ecab750827a1913d0d2079";
        log.info("拼接参数: {}", str);
        String sign = MD5Utils.stringToMD5(str);
        return sign;
    }


}
